﻿Imports System
Imports System.Runtime.InteropServices
Imports System.Workflow.Runtime.Hosting

Namespace System.Workflow.Runtime.Tracking
    Public MustInherit Class TrackingService
        Inherits WorkflowRuntimeService
        ' Methods
        Protected Sub New()
        End Sub

        Protected Friend MustOverride Function GetProfile(ByVal workflowInstanceId As Guid) As TrackingProfile

        Protected Friend MustOverride Function GetProfile(ByVal workflowType As Type, ByVal profileVersionId As Version) As TrackingProfile

        Protected Friend MustOverride Function GetTrackingChannel(ByVal parameters As TrackingParameters) As TrackingChannel

        Protected Friend MustOverride Function TryGetProfile(ByVal workflowType As Type, <Out> ByRef profile As TrackingProfile) As Boolean

        Protected Friend MustOverride Function TryReloadProfile(ByVal workflowType As Type, ByVal workflowInstanceId As Guid, <Out> ByRef profile As TrackingProfile) As Boolean

    End Class
End Namespace

